<?xml version="1.0"?>
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:html="http://www.w3.org/1999/xhtml">
  <atom:id>http://bill.welliver.org/atom/pike/fins/widget/ComboPicker widget</atom:id>
  <atom:title type="text">electronic.alchemy :: ComboPicker widget</atom:title>
  <atom:updated>2026-07-16T19:26:12-04:00</atom:updated>
  <atom:link href="http://bill.welliver.org/atom/pike/fins/widget/ComboPicker widget" type="application/atom+xml"></atom:link>
  <atom:link href="http://bill.welliver.org/space/pike/fins/widget/ComboPicker widget" type="text/html"></atom:link>
  <atom:link href="http://bill.welliver.org/rss/pike/fins/widget/ComboPicker widget" type="application/rss+xml"></atom:link>
  <atom:generator uri="http://modules.gotpike.org/blahblah/Public.Syndication.ATOM" version="0.1">Public.Syndication.ATOM (Pike v8.0 release 1956)</atom:generator>
  <atom:icon>http://bill.welliver.org/favicon.ico</atom:icon>
  <atom:logo>http://bill.welliver.org/static/images/alchemy.gif</atom:logo>
  <atom:subtitle type="xhtml"><html:div xmlns:html="http://www.w3.org/1999/xhtml">Here's a sample of how you'd use the ComboPicker widget. This assumes you've unzipped the fins widget directory (<html:a href="download" class="wiki_link_external">http://buoy.riverweb.com:8080/viewrep/cvs/FinScribe/static/javascripts/fins/fins.zip</html:a> )at the same location that dojo.js is located (that is, dojo.js, src/ and fins/ are all in the same directory).<html:p class="paragraph"/>
<html:img src="/space/pike/fins/widget/ComboPicker widget/combopicker.png" alt=""/><html:p class="paragraph"/>
<html:div class="code"><html:pre><html:pre>
&lt;script type='text/javascript'&gt;
  djConfig = {
    isDebug : true
  };<html:p class="paragraph"/>
&lt;/script&gt;
&lt;script src=<html:i><html:font color="darkred">"/static/javascripts/dojo.js"</html:font></html:i>&gt;&lt;/script&gt;
&lt;script type='text/javascript'&gt;<html:p class="paragraph"/>
dojo.hostenv.setModulePrefix(<html:i><html:font color="darkred">"fins.widgets"</html:font></html:i>,
                                <html:i><html:font color="darkred">"../fins/widgets"</html:font></html:i>
);<html:p class="paragraph"/>
dojo.require(<html:i><html:font color="darkred">"fins.widget.*"</html:font></html:i>);<html:p class="paragraph"/>
<html:b><html:font color="darkgreen">function </html:font></html:b><html:b><html:font color="darkbrown">getMembers</html:font></html:b>()
{
  var res = null;<html:p class="paragraph"/>
  var bindArgs = {
    url:         <html:i><html:font color="darkred">"/admin/getusers_json/"</html:font></html:i> +  <html:i><html:font color="darkred">"&lt;%$group.id%&gt;"</html:font></html:i> ,
    mimetype:   <html:i><html:font color="darkred">"text/plain"</html:font></html:i>,
    sync: true,
    error:      <html:b><html:font color="darkgreen">function(type, errObj)</html:font></html:b><html:b><html:font color="darkbrown">{</html:font></html:b>
    },
    load:      <html:b><html:font color="darkgreen">function(type, data, evt)</html:font></html:b><html:b><html:font color="darkbrown">{</html:font></html:b>
        <html:font color="red">// handle successful response here
</html:font>
        res = dojo.json.evalJSON(data.toString());
        res = res.data;
    }
};<html:p class="paragraph"/>
<html:font color="red">// dispatch the request
</html:font>    var requestObj = dojo.io.bind(bindArgs);<html:p class="paragraph"/>
    <html:b><html:font color="darkblue">return</html:font></html:b> res;
}<html:p class="paragraph"/>
<html:b><html:font color="darkgreen">function </html:font></html:b><html:b><html:font color="darkbrown">getAvailable</html:font></html:b>()
{
  var res = null;<html:p class="paragraph"/>
  var bindArgs = {
    url:         <html:i><html:font color="darkred">"/admin/getusers_json/"</html:font></html:i>,
    mimetype:   <html:i><html:font color="darkred">"text/plain"</html:font></html:i>,
    sync: true,
    error:      <html:b><html:font color="darkgreen">function(type, errObj)</html:font></html:b><html:b><html:font color="darkbrown">{</html:font></html:b>
    },
    load:      <html:b><html:font color="darkgreen">function(type, data, evt)</html:font></html:b><html:b><html:font color="darkbrown">{</html:font></html:b>
        <html:font color="red">// handle successful response here
</html:font>
        res = dojo.json.evalJSON(data.toString());
        res = res.data;
    }
};<html:p class="paragraph"/>
    <html:font color="red">// dispatch the request
</html:font>    var requestObj = dojo.io.bind(bindArgs);<html:p class="paragraph"/>
    <html:b><html:font color="darkblue">return</html:font></html:b> res;
};
&lt;/script&gt;<html:p class="paragraph"/>
&lt;form action=<html:i><html:font color="darkred">"someaction"</html:font></html:i>&gt;
        &lt;div dojoType=<html:i><html:font color="darkred">"ComboPicker"</html:font></html:i> loadAvailableFunction=<html:i><html:font color="darkred">"getAvailable"</html:font></html:i> loadMembersFunction=<html:i><html:font color="darkred">"getMembers"</html:font></html:i> addsId=<html:i><html:font color="darkred">"added"</html:font></html:i> removesID=<html:i><html:font color="darkred">"removed"</html:font></html:i>&gt;&lt;/div&gt;
       &lt;input type=<html:i><html:font color="darkred">"submit"</html:font></html:i> value=<html:i><html:font color="darkred">"Save"</html:font></html:i>
&lt;/form&gt;<html:p class="paragraph"/>
</html:pre></html:pre></html:div>
</html:div></atom:subtitle>
</atom:feed>
